'''
Description: 
Author: Zilu
Date: 2021-11-04 15:04:09
Version: 
LastEditTime: 2021-11-04 15:11:53
LastEditors: Zilu
'''

from collections.abc import Iterator

# 可以使用next不断调用输出下一个值的对象称为迭代器，Iterator
isinstance([],Iterator)
isinstance({},Iterator)
isinstance((x for x in range(10)),Iterator)

# list、tuple、str、dict等是Iterable的，但却不是Iterator，可以使用iter函数将它们变成Iterator
isinstance(iter([]),Iterator)
isinstance(iter({}),Iterator)

it = iter([1,2,3,4,5])
pass

# Python的Iterator对象表示的是一个数据流，Iterator对象可以被next()函数调用并不断返回下一个数据，
# 直到没有数据时抛出StopIteration错误

# Python的for循环本质上就是通过不断调用next()函数实现的


